/*
 * sysmo 客户端发送的监控值信息
 * Copyright (C) 2009  YuLicheng
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.sysmo.server.node.item;

import java.util.Date;

/**
 * 
 * 此类实例代表一条客户端发送的监控记录。其中包含了此监控记录产生的时间，此监控记录
 * 所属的监控值名称、图表名称、监控项名称、记录值和相应的警告信息。
 *
 * @author YuLicheng
 */
public class Result {

    private Date time;
    private String valueName;
    private String graphName;
    private String itemName;
    private int value;
    private Warning warning;

    /**
     * 创建对应的监控值实例。
     *
     * @param itemName 监控值名称
     * @param graphName
     * @param valueName
     * @param value 监控值记录。
     * @param time 记录时间。
     * @param warning 此记录产生的警告信息，若没有警告可设为null。
     */
    public Result(String itemName, String graphName, String valueName,
            int value, Date time, Warning warning) {
        this.itemName = itemName;
        this.graphName = graphName;
        this.valueName = valueName;
        this.value = value;
        this.time = time;
        this.warning = warning;
    }

    /**
     * 获得此记录中的警告，若没有警告则返回null。
     *
     * @return 警告信息，若没有警告则为null。
     */
    public Warning getWarning() {
        return warning;
    }

    /**
     * 获得监控值记录时间。
     *
     * @return 记录时间。
     */
    public Date getTime() {
        return time;
    }

    /**
     * 获得对应的监控值名称。
     *
     * @return 监控值名称。
     */
    public String getValueName() {
        return valueName;
    }

    /**
     * 获得对应的图表名称。
     *
     * @return 图表名称。
     */
    public String getGraphName() {
        return graphName;
    }

    /**
     * 获得对应的监控项名称。
     *
     * @return 监控项名称。
     */
    public String getItemName() {
        return itemName;
    }

    /**
     * 获得监控值记录。
     *
     * @return 监控值记录。
     */
    public int getValue() {
        return value;
    }
    
}
